/* ------------------------------------------------------------------------------
Author: 		Afshin Nabijou
Description:	The following code encapsulates all the JavaScript functionality
				used across the site
------------------------------------------------------------------------------ */

var winPopUp = null;

// This function creates a popup window with set properties
function CreatePopUp(target,name,w,h,scroll,loc,stat,menu,tool,pos,res)
{
    var LeftPos = 50
    var TopPos = 50
    var objWin;

    if(pos=="center")
    {
        LeftPos=(screen.width)?(screen.width-w)/2:100;
        TopPos=(screen.height)?(screen.height-h)/2:100;
    }
    var settings='width='+w+',height='+h+',top='+TopPos+',left='+LeftPos+',scrollbars='+scroll+',location='+loc+',directories=no,status='+stat+',menubar='+menu+',toolbar='+tool+',resizable='+res;

    objWin = window.open(target,name,settings);
    objWin.focus();
    return objWin;
}

// This function launches a pop-up of the clip window
function launchClip(filmID,filmTitle)
{
    winPopUp = CreatePopUp('view_clip.asp?fid=' + filmID + '&title=' + filmTitle,'new',192,260,'no','no','no','no','no','center','no');
}

// This function adds the page URL to the favorites
function addBookmark()
{
    if (window.external)
  		window.external.AddFavorite(location.href,document.title);
    else
    	alert("Your browser does not support this feature.");
}

// This function prints the page
function printPage()
{
   window.print();
}

// This function takes the current page back once
function goBack()
{
    window.history.back(-1);
}

// This function closes the active window
function quitPage()
{
    window.close();
}

// This function resets an HTML form
function clearForm()
{
    document.docForm.reset();
}

// This function submits an HTML form
function submitForm()
{
    document.docForm.submit();
}

// This function gets the page URL
function getURL()
{
    window.location.href();
}

// This function blocks the right mouse button
function blockRightClick()
{
	if (event.button==2)
	{
		alert(' Sorry the right mouse button is blocked in this area!');
	}
}

// This function closes the active window after 4 seconds
function closeWindow()
{
	setTimeout('self.close();', 4000);
}

// This function clears/populates a given textbox
function checkName(textbox)
{
	if(textbox.value=='') 
	{
		textbox.value='please enter your name';
	}
	else
	{
		if(textbox.value=='please enter your name') 
		{
			textbox.value='';
		}
	}
}

// This function clears/populates a given textbox
function checkSubject(textbox)
{
	if(textbox.value=='') 
	{
		textbox.value='please enter a subject for your email';
	}
	else
	{
		if(textbox.value=='please enter a subject for your email') 
		{
			textbox.value='';
		}
	}
}

// This function clears/populates a given textbox
function checkEmail(textbox)
{
	if(textbox.value=='') 
	{
		textbox.value='please enter your email';
	}
	else
	{
		if(textbox.value=='please enter your email') 
		{
			textbox.value='';
		}
	}
}

// This function clears/populates a given textbox
function checkMessage(textbox)
{
	if(textbox.value=='') 
	{
		textbox.value='please type your message here';
	}
	else
	{
		if(textbox.value=='please type your message here') 
		{
			textbox.value='';
		}
	}
}

function validateEmail(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)

		if (str.indexOf(at)==-1){
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    return false
		 }

 		 return true					
	}

function validateForm(){
	
	// Declare variables                    
	var name;
	var email;
	var subject;
	var message;
	var errorOccurred = false;
    
    // Grab the value of form items into the variables   
	name = document.docForm.txtName.value;
	email = document.docForm.txtEmail.value;
	subject = document.docForm.txtSubject.value;
	message = document.docForm.txtMessage.value;
	
	// Do the validation
	// Name
	if (name == '' || name == 'please enter your name')
	{
		divNameError.style.visibility = "visible";
		focusTable.focus();
		errorOccurred = true;
	}
	else
	{
		divNameError.style.visibility = "hidden";	
	}
	// Email
	if (email == '' || email == 'please enter your email' || validateEmail(email) == false)
	{
		divEmailError.style.visibility = "visible";
		focusTable.focus();
		errorOccurred = true;
	}
	else
	{
		divEmailError.style.visibility = "hidden";	
	}
	// Subject
	if (subject == '' || subject == 'please enter a subject for your email')
	{
		divSubjectError.style.visibility = "visible";
		focusTable.focus();
		errorOccurred = true;
	}
	else
	{
		divSubjectError.style.visibility = "hidden";	
	}
	// Message
	if (message == '' || message == 'please type your message here')
	{
		divMessageError.style.visibility = "visible";
		focusTable.focus();
		errorOccurred = true;
	}
	else
	{
		divMessageError.style.visibility = "hidden";	
	}
	
	// Determine if error occured
	if (errorOccurred == true)
	{
		return false;
	}
	else
	{
		return true;
	}
 }

// The following functions deal with the top menu images
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_nbGroup(event, grpName) { //v6.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
      nbArr[nbArr.length] = img;
  } }
}

// The following functions deal with the rollover images
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


