// JavaScript Document

/* -- Common functions -- */

function xGetElementById(e)
{
	if(typeof(e)!='string') return e;
	if(document.getElementById) e=document.getElementById(e);
	else if(document.all) e=document.all[e];
	else e=null;
	return e;
}

function checkUrl(url)
{
	if ( (url.indexOf('http://') != -1) || (url.indexOf('https://') != -1) ) return true;
	else return false;
}

function isValidEmail(strEmail){
  validRegExp = /^[^@]+@[^@]+.[a-z]{2,}$/i;
  //strEmail = document.forms[0].email.value;

   // search email text for regular exp matches
    if (strEmail.search(validRegExp) == -1) 
   {
      return false;
    } 
    return true; 
}

function getStyle(el,styleProp)
{
	var x = document.getElementById(el);

	var stylePropTrans = new Array();
	stylePropTrans['background-color'] = 'backgroundColor';

	if (x.currentStyle)
		var y = x.currentStyle[stylePropTrans[styleProp]];
	else if (window.getComputedStyle)
		var y = getHexRGBColor(document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp));
	return y;
}


function getHexRGBColor(color)
{
  color = color.replace(/\s/g,"");
  var aRGB = color.match(/^rgb\((\d{1,3}[%]?),(\d{1,3}[%]?),(\d{1,3}[%]?)\)$/i);

  if(aRGB)
  {
    color = '';
    for (var i=1;  i<=3; i++) color += Math.round((aRGB[i][aRGB[i].length-1]=="%"?2.55:1)*parseInt(aRGB[i])).toString(16).replace(/^(.)$/,'0$1');
  }
  else color = color.replace(/^#?([\da-f])([\da-f])([\da-f])$/i, '$1$1$2$2$3$3');
  
  return '#' + color;
}

function setBgConers(pathToFlash, idName, w, h, FPv, bgOut, bgIn)
{
	var variantes = new Array();
	variantes[0] = 'TL';
	variantes[1] = 'TR';
	variantes[2] = 'BL';
	variantes[3] = 'BR';

	for (var i=0;i<=3;i++){
		var so = new SWFObject(pathToFlash, idName+variantes[i], w, h, FPv, bgOut);
		so.addVariable("variant", variantes[i]);
		so.addVariable("inColor", bgIn);
		so.write(idName+variantes[i]);
	}
}


function setFormConers(pathToFlash, idName, w, h, FPv, bgOut, qty)
{
	var variantes = new Array();
	variantes[0] = 'L';
	variantes[1] = 'R';
	
	var v = 0;

	for (var i=1;i<=qty;i++){
		
		var bgIn = getStyle("form_"+i+'_C', "background-color");
		
		for (var v=0;v<=1;v++){

			var so = new SWFObject(pathToFlash, idName+i+'_'+variantes[v], w, h, FPv, bgOut);
			so.addVariable("variant", variantes[v]);
			so.addVariable("inColor", bgIn);
			so.write(idName+i+'_'+variantes[v]);
		
		}
	}
}


function setFormConersBtn(pathToFlash, idName, w, h, FPv, bgOut)
{
	var variantes = new Array();
	variantes[0] = 'L';
	variantes[1] = 'R';
	
	var bgIn = getStyle("form_btn_C", "background-color");

	for (var i=0;i<=1;i++){
		var so = new SWFObject(pathToFlash, idName+variantes[i], w, h, FPv, bgOut);
		so.addVariable("variant", variantes[i]);
		so.addVariable("inColor", bgIn);
		so.write(idName+variantes[i]);
	}
}

function setFormConersBtnB(pathToFlash, idName, w, h, FPv, bgOut)
{
	var variantes = new Array();
	variantes[0] = 'L';
	variantes[1] = 'R';
	
	var bgIn = getStyle("form_btn_C", "background-color");
	var bgInL = getStyle("form_btnB_C", "background-color");

	for (var i=0;i<=1;i++){
		var so = new SWFObject(pathToFlash, idName+variantes[i], w, h, FPv, bgOut);
		so.addVariable("variant", variantes[i]);
		so.addVariable("inColor", bgIn);
		so.addVariable("outColor", bgInL);
		so.write(idName+variantes[i]);
	}
}

function setFormConersBtnM(pathToFlash, idName, w, h, FPv, bgOut)
{
	
	
	var bgIn = getStyle("form_btn_C", "background-color");
	var bgInL = getStyle("form_btnB_C", "background-color");

	
		var so = new SWFObject(pathToFlash, idName, w, h, FPv, bgOut);
		so.addVariable("inColor", bgIn);
		so.addVariable("outColor", bgInL);
		so.write(idName);
	
}

<!-- Checking functions --->

function validateForm(myFormName) 
{
    var myForm = document.forms[myFormName];
    passed = true;
    focusfield = "";
    message = "The following fields are either incomplete or invalid: \n"
    //validate First Name
    if(myForm.FirstName.value == "")
    {
        message += "First Name \n";
        passed = false;
        if (focusfield == "")
        {
            focusfield = myForm.FirstName;
        }   
    }
    //validate Last Name
    if(myForm.LastName.value == "")
    {
        message += "Last Name \n";
        passed = false;
        if (focusfield == "")
        {
            focusfield = myForm.LastName;
        }
    }
/*    //validate Phone
    if(!myForm.Phone.value.match(/^[0-9]{3}-[0-9]{3}-[0-9]{4,}$/))
    {
        message += "Phone Number\n";
        passed = false;
        if (focusfield == "")
        {
            focusfield = myForm.Phone;
        }
    } */  
    //validate Email
    if(!myForm.Email.value.match(/^.+@[^\.].*\.[a-z]{2,}$/))
    {
        message += "Email Address \n";
        passed = false;
        if (focusfield == "")
        {
            focusfield = myForm.Email;
        }
    }
/*	//validate Location
	if(myForm.Location.value == "")
	{
		message += "Dealership Name \n";
		passed = false;
		if (focusfield == "")
		{
			focusfield = myForm.Location;
		}
	}*/	
    //validate Username
    if(myForm.UserName.value == "")
    {
        message += "Username \n";
        passed = false;
        if (focusfield == "")
        {
            focusfield = myForm.UserName;
        }
    }
    //validate Password
    if(myForm.Password.value == "")
    {
        message += "Password \n";
        passed = false;
        if (focusfield == "")
        {
            focusfield = myForm.Password;
        }
    }
    if(myForm.Password.value != myForm.co_Password.value)
    {
        message += "Confirm Password \n";
        passed = false;
        if (focusfield == "")
        {
            focusfield = myForm.co_Password;
        }
    } 
    if(myForm.PromoCode.value == "")
    {
        message += "Promo Code \n";
        passed = false;
        if (focusfield == "")
        {
            focusfield = myForm.PromoCode;
        }
    } 
    //if any of the form fields didn't validate, call the fixFieldInfo function to display the error
    if (!passed) {
        fixFieldInfo(message, focusfield);
    }
    else {
        document.Form1.submit();
    }
}

function fixFieldInfo(message, focusfield) {
    alert(message);
    focusfield.focus();
}
